namespace myns {
    
    
    public class contextclass {
        
        private abstractclass _state;
        
        private contextclass(abstractclass state) {
            _state = state;
        }
        
        private abstractclass State {
            get {
                return _state;
            }
            set {
                _state = value;
            }
        }
        
        public void contextmethod() {
            _state.abstractmethod(this);
        }
    }
}
